A próxima fase do processamento de linguagem natural é a análise sintática que
procura estruturas que contenham sequências de \emph{tokens} definidas.

Após os \emph{tokens} serem etiquetados pelo analisador léxico, o analisador
sintático irá incorporá-los em estruturas de árvores, ou seja, a saída do
analisador sintático é uma grande árvore com as classificações das estruturas.

O projeto não tem o objetivo de classificar todas as estruturas da língua
portuguesa, mas apenas as estruturas que tem relacionamento com partidas de
futebol.

\begin{figure}[h]
\centering
\includegraphics[width=0.75\textwidth]{imagens/implementacao/funcionamento_sintatico.png}
\caption{Funcionamento do Analisador Sintático}
\end{figure}

Para obter essa estrutura de árvores, é necessária a aplicação de uma gramática
tendo, como símbolos terminais, as \emph{tags} que representam os seus
\emph{tokens}.

Para a estrutura de frase com relacionamento entre equipes de futebol foi
definifida para o projeto estrutura baseada nas equipes e nos verbos.  Por exemplo:
``Palmeiras venceu o Barueri por 2 a 0'' seria equivamente a uma estrutura
do tipo `` EQUIPE VERBO ARTIGO EQUIPE PREPOSICAO RESULTADO ''.

Com o objetivo de pegar frases simples como a acima foi
desenvolvida a seguinte gramática:

\begin{table}[!h]
\centering
\begin{tabular}{|c|c|}
\hline
\textbf{\emph{Não-Terminal}}  & \textbf{Regra de Formação}\\
\hline
RESULTADO & $<$CARD$>$$<$PRP$|$NOM$|$V$>$$<$CARD$>$\\
\hline
RESULTADO\underline{  }EXPLICITO &
$<$EQUIPE$|$EQUIPE-CIDADE$>$$<$RESULTADO$>$\\
 & $<$EQUIPE$|$EQUIPE-CIDADE$>$\\
\hline
NP & $<$PRP+P$|$PRP+DET$|$PRP$|$DET$|$ADJ$>$*?\\
 & $<$EQUIPE-CIDADE$|$EQUIPE$|$CIDADE$|$ESTADIO$>$+\\ 
 & $<$ADJ$>$?$<$PRP+P$|$PRP+DET$|$PRP$>$?$<$RESULTADO$>$?\\
\hline
VP & $<$V$>$+$<$ADV$>$*$<$NP$>$*\\
\hline
NPREAL & $<$NP$>$$<$CONJ$>$*$<$NP$>$*\\
\hline
FUTEBOL & $<$NPREAL$>$*$<$VP$>$\\
\hline
\end{tabular}
\caption{Regras de formação da árvore sintática}
\end{table}

Com as regras da Tabela 4.2, é possível perceber que o não-terminal principal da
árvore é FUTEBOL, pois contém uma frase simples referente ao resultado de uma
partida de futebol relacionando uma equipe à outra.

Outras estruturas são mapeadas como RESULTADO que contém o resultado em gols da
partida e a estrutura RESULTADO\underline{  }EXPLICITO que além do resultado em
gols, tem a relação das equipes e os seus gols na partida, o que facilita ainda
mais a interpretação para a formação da estrutura de dados na análise semântica.

Para conseguir esse objetivo foi usado um recurso no NLTK, o
\emph{\textbf{RegexpParser}}, em que o argumento de entrada é uma expressão
regular com a gramática proposta (conforme a tabela gramatical anterior).

A saída dessa análise é uma estrutura de dados em formato de árvore
sintática, no mesmo formato que uma estrutura de árvore representada na
linguagem funcional LISP:

\begin{verbatim}
(S
  (FUTEBOL
    (NPREAL (NP Corinthians/EQUIPE))
    (VP perde/V (NP para/PRP Noroeste/EQUIPE)))
  e/CONJ
  (FUTEBOL (VP fica/V fora/V))
  das/PRP+DET
  semifinais/NOM
  Do/NOM
  UOL/NOM
  Esporte/NOM
  Em/NOM
  (NPREAL (NP SãoPaulo/EQUIPE-CIDADE))
  . . .
\end{verbatim}